<--- %%NOBANNER%% --> _max.sas
 BackForward
%macro _max/parmbuff;
/*--------------------------------------------\
| Author:   Duo Zhou;                         |
| Created:  3-23-2001 3:43pm;                 |
| Purpose:  Calculate the maximum number from |
|           a list of numbers;                |
\--------------------------------------------*/
%local _wcount_ _max_;
%let _wcount_=0; %let _max_=;
%do %while(%length(%nrbquote(%qscan(%quote(&syspbuff), %eval(&_wcount_+1), %str(,() )))));
   %let _wcount_=%eval(&_wcount_+1);
   %let word&_wcount_=%qscan(%quote(&syspbuff), &_wcount_, %str(,() ));
   %if (%quote(&_max_) eq) %then %let _max_=&&word&_wcount_;
   %else %if (&&word&_wcount_ gt &_max_) %then %let _max_=&&word&_wcount_;
%end;&_max_
%mend _max;